package com.fjl.pojo;

import org.activiti.bpmn.model.FlowNode;

import java.util.ArrayList;
import java.util.List;

/**
 * ClassName: NextTaskDetail
 * Package: cn.com.agree.abpm.pojo
 * Description:
 *
 * @Author 申航
 * @Create 2024/12/10 10:52
 * @Version 1.0
 */
public class NextTaskDetail {

    // 正常结束标志
    private boolean end;
    // 异常结束标志
    private boolean errorStop;
    // 具体任务信息
    public List<TaskDetail> taskDetailList;
    private String parentId;

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public class TaskDetail {
        // 流程定义ID
        private String procDefId;
        // 流程版本号
        private String processVersion;
        // 当前任务
        private FlowNode task;
        // 子流程任务详细信息
        private NextTaskDetail subProcessTaskDetail;
        // 当前任务是否在CallActivity中
        private boolean CallActivityFlag;

        public TaskDetail() {
        }

        public String getProcDefId() {
            return procDefId;
        }

        public void setProcDefId(String procDefId) {
            this.procDefId = procDefId;
        }

        public String getProcessVersion() {
            return processVersion;
        }

        public void setProcessVersion(String processVersion) {
            this.processVersion = processVersion;
        }

        public FlowNode getTask() {
            return task;
        }

        public void setTask(FlowNode task) {
            this.task = task;
        }

        public NextTaskDetail getSubProcessTaskDetail() {
            return subProcessTaskDetail;
        }

        public void setSubProcessTaskDetail(NextTaskDetail subProcessTaskDetail) {
            this.subProcessTaskDetail = subProcessTaskDetail;
        }

        public boolean isCallActivityFlag() {
            return CallActivityFlag;
        }

        public void setCallActivityFlag(boolean callActivityFlag) {
            CallActivityFlag = callActivityFlag;
        }
    }

    public NextTaskDetail() {
        taskDetailList = new ArrayList<>();
    }

    public boolean isEnd() {
        return end;
    }

    public void setEnd(boolean end) {
        this.end = end;
    }

    public boolean isErrorStop() {
        return errorStop;
    }

    public void setErrorStop(boolean errorStop) {
        this.errorStop = errorStop;
    }

    public List<TaskDetail> getTaskDetailList() {
        return taskDetailList;
    }

    public void setTaskDetail(List<TaskDetail> taskDetailList) {
        this.taskDetailList = taskDetailList;
    }
}
